package dados;

import java.util.ArrayList;
import java.util.LinkedList;

public class Utilizador implements Comparable<Utilizador>{
	private String email;
	private String password;
	private String nome;
	private String datanascimento;
	private double saldo;
	private int pontos;
	private ArrayList<Accao> accoes;
	private double valor;
	private boolean superUser = false;
	private ArrayList<Registo> historial;

	public Utilizador(String email, String password, String nome,
			String datanascimento, double saldo, int pontos) {
		this.email = email;
		this.password = password;
		this.nome = nome;
		this.datanascimento = datanascimento;
		this.saldo = saldo;
		this.pontos = pontos;
		accoes = new ArrayList<Accao>();
	}
	
	public Utilizador(String email, String password, String nome,
			String datanascimento) {
		this.email = email;
		this.password = password;
		this.nome = nome;
		this.saldo = 15000;
		this.datanascimento = datanascimento;
		accoes = new ArrayList<Accao>();
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDatanascimento() {
		return datanascimento;
	}

	public void setDatanascimento(String datanascimento) {
		this.datanascimento = datanascimento;
	}

	public double getSaldo() {
		return saldo;
	}

	public void setSaldo(double saldo) {
		this.saldo = saldo;
	}

	public int getPontos() {
		return pontos;
	}

	public void setPontos(int pontos) {
		this.pontos = pontos;
	}

	public ArrayList<Accao> getAccoes() {
		return accoes;
	}

	public void setAccoes(ArrayList<Accao> accoes) {
		this.accoes = accoes;
	}
	
	public double getValor(){
		return valor;
	}
	
	public void setValor(double valor){
		this.valor = valor;
	}

	public boolean isSuperUser() {
		return superUser;
	}

	public void setSuperUser(boolean superUser) {
		this.superUser = superUser;
	}
	
	public ArrayList<Registo> getHistorial() {
		return historial;
	}
	
	public void setHistorial(ArrayList<Registo> historial) {
		this.historial = historial;
	}

	@Override
	public String toString() {
		return "email: " + this.email + " password: " + this.password;
	}

	@Override
	public int compareTo(Utilizador o) {
		if(valor < o.getValor()){
			return 1;
		}else if(valor > o.getValor()){
			return -1;
		}else{
			return 0;
		}
	}
}
